Using pressure differences with a touch-sensitive display screen

ABSTRACT

Disclosed is a user interface that responds to differences in pressure detected by a touch-sensitive screen. The user selects one type of user-interface action by “lightly” touching the screen and selects another type of action by exerting more pressure. Embodiments can respond to single touches, to gestural touches that extend across the face of the touch-sensitive screen, and to touches in which the user-exerted pressure varies during the course of the touch. Some embodiments respond to how quickly the user changes the amount of pressure applied. In some embodiments, the location and pressure of the user&#39;s input are compared against a stored gesture profile. Action is taken only if the input matches “closely enough” to the stored gesture profile. In some embodiments, a notification is sent to the user when the pressure exceeds a threshold between a light and a heavy press.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is related to the patent application withMotorola docket number CS39079, filed on an even date herewith.

FIELD OF THE INVENTION

The present invention is related generally to personal electronicdevices and, more particularly, to user interfaces for touch-sensitivedisplay screens.

BACKGROUND OF THE INVENTION

Touch-sensitive display screens are a well known component of manypersonal electronic devices. By noting and responding to a user's touch(usually with a finger or a stylus), these screens both gather userinput and present the device's output in a unified way that is veryappealing for many applications.

The first popular touch-sensitive display screens could only reliablynote one touch location at a time. In the presence of multiplesimultaneous touches, these display screens would become confused andunpredictable. Now, however, many devices incorporate screens thatreliably track several simultaneous touches and can measure the totalpressure exerted by the user.

One of the appealing aspects of touch-sensitive display screens is thatthey can, in some instances at least, replace both the keyboard and thepointing device (e.g., a mouse or trackball) found on the moretraditional personal computer. This makes these screens especiallyuseful for very small devices such as smart phones where a keyboard, ifpresent at all, is too small to be optimal for ten-finger typing.

Naturally, the development of user-interface modalities fortouch-sensitive screens has followed the uses pioneered by the fixedkeyboard and mouse. People very easily transition from using a mouse tocontrol a cursor on the display screen to simply touching the screen anddragging the cursor where it is needed.

BRIEF SUMMARY

The above considerations, and others, are addressed by the presentinvention, which can be understood by referring to the specification,drawings, and claims. According to aspects of the present invention, theability of some modern touch-sensitive screens to respond to differencesin pressure is used to enhance a device's user interface. The userselects one type of user-interface action by “lightly” touching thescreen and selects another type of action by exerting more pressure. Forexample, a light touch can be interpreted as a traditional “singleclick” from a mouse button, while a firmer touch can act as a “doubleclick.” In another example, within a drawing application, the user drawswith a light touch and erases with a heavier touch.

Some touch-screens reliably report on a range of user pressures.Embodiments of the present invention can take advantage of this range byallowing the user to select three or even more distinct actionsdepending upon exactly how firmly he presses against the screen. Forexample, if the user is fast-forwarding through a media presentation,the speed of the fast-forwarding can vary directly with the amount ofpressure exerted.

Aspects of the present invention are not limited to single-touchmodalities. Instead, embodiments can respond to single touches, togestural touches that extend across the face of the touch-sensitivescreen, and to touches in which the user-exerted pressure varies duringthe course of the touch. Some embodiments respond to how quickly theuser changes the amount of pressure applied.

In some embodiments, the location and pressure of the user's input arecompared against a stored gesture profile. Action is taken only if theinput matches “closely enough” to the stored gesture profile. Forexample, a user signs his name, and the signature is then comparedagainst a stored signature profile. The user is given access tocontrolled information if the signatures match.

In some embodiments, a notification is sent to the user when thepressure exceeds a threshold between a light and a heavy press. Forexample, an icon can be shown on the screen when the pressure is heavy.(This is similar to the “CAPS LOCK” icon sometimes shown in conjunctionwith a traditional keyboard.) A sound could also be played, or hapticfeedback (a “buzz” felt by the user) given.

Various touch-sensitive screens embody various technologies, and thusthey differ in how they measure and report different pressures. Aspectsof the present invention work with any pressure-sensing screen. Inparticular, some screens report a series of datapoints during a touch,each datapoint including, for example, an amplitude related to theinstantaneous pressure and a size associated with the touch. In someembodiments of the present invention, this series of datapoints ismonitored until the series of datapoints becomes stable, by somemeasure. Once the datapoints become stable, the values of the stabledatapoint (called the “baseline”) are used with future datapoints todetermine the pressure associated with the touch. This method“stabilizes” the touch input and presents a more consistentuser-interface experience.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

While the appended claims set forth the features of the presentinvention with particularity, the invention, together with its objectsand advantages, may be best understood from the following detaileddescription taken in conjunction with the accompanying drawings ofwhich:

FIG. 1 is a schematic of an exemplary personal electronic device usablewith the present invention;

FIGS. 2 a and 2 b are stylized representations of a touch-sensitivescreen responding to different pressures;

FIGS. 3 a and 3 b together form a flowchart of a first exemplary userinterface that takes advantages of pressure reporting by atouch-sensitive screen;

FIGS. 4 a and 4 b together form a flowchart of a particular embodimentof the user-interface method of FIGS. 3 a and 3 b;

FIG. 5 is a flowchart of an exemplary user interface that responds to arate of change of the touch pressure;

FIG. 6 is a flowchart of an exemplary user interface that uses theteachings of the present invention to compare a user's touch input witha stored gesture profile; and

FIG. 7 is a flowchart of an exemplary method for “stabilizing” thepressure input from a touch-sensitive screen.

DETAILED DESCRIPTION

Turning to the drawings, wherein like reference numerals refer to likeelements, the invention is illustrated as being implemented in asuitable environment. The following description is based on embodimentsof the invention and should not be taken as limiting the invention withregard to alternative embodiments that are not explicitly describedherein.

FIG. 1 shows a representative personal electronic device 100 (e.g., acellular telephone, personal digital assistant, or personal computer)that incorporates an embodiment of the present invention. FIG. 1 showsthe device 100 as a cellular telephone presenting its main screen 102 toits user. Typically, the main screen 102 is used for most high-fidelityinteractions with the user. For example, the main screen 102 is used toshow video or still images, is part of a user interface for changingconfiguration settings, and is used for viewing call logs and contactlists. To support these interactions, the main screen 102 is of highresolution and is as large as can be comfortably accommodated in thedevice 100. In some situations, it would be useful for the user to haveaccess to a screen even larger than the main screen 102. For thesesituations, a larger external display can be connected to, andcontrolled by, the electronic device 100 (e.g., through a dockingstation). The device 100 may have a second and possibly a third screenfor presenting status messages. These screens are generally smaller thanthe main screen 102. They can be safely ignored for the remainder of thepresent discussion.

The screen 102 is a touch-sensitive screen. When the user of the deviceapplies pressure to the screen 102 at one point or at multiple points,the screen 102 reports the locations of the touches. The pressureassociated with a touch is also reported. In some devices, the screen102 itself includes pressure sensors and can measure the pressureapplied at each point. In other devices, separate pressure sensors (notshown) report either localized pressure measurements or the total amountof pressure applied to the screen 102 as a whole. To cover all of thesecases without using excessive language, the present discussion uses theshorthand phrase “the screen 102 reports the pressure” regardless ofwhich components on the device 100 actually measure and report thepressure.

Note that the present invention also applies to touch-sensitive screensthat are not touch-sensitive display screens, such as touch-pads that donot have a display function. These are becoming less common today, andthe present discussion focuses on examples that are touch-sensitivedisplay screens.

Today, various technologies are being used to implement touch-sensitivescreens 102. The present invention is intended to work with allexisting, and any future-developed, touch-sensitive technologies.

The typical user interface of the personal electronic device 100includes, in addition to the touch-sensitive screen 102, a keypad andother user-input devices. The keypad may be physical or virtual,involving virtual keys displayed on the touch-sensitive screen 102. Somedevices 100 include an audio output and a haptic device for notifyingthe device's user.

FIG. 1 illustrates some of the more important internal components of thepersonal electronic device 100. The network interface 104 sends andreceives media presentations, related information, and downloadrequests. The processor 106 controls the operations of the device 100and, in particular, supports aspects of the present invention asillustrated in FIGS. 3 through 7, discussed below. The processor 106uses the memory 108 in its operations. Specific uses of these componentsby specific devices are discussed as appropriate below.

FIG. 2 a shows how the touch-sensitive screen 102 responds to a numberof touches of moderate pressure. The black areas 200 a, 202 a, and 204 arepresent where the user has pressed hard enough to register on thescreen 102. (There is no requirement that these areas 200 a, 202 a, and204 a are displayed to the user of the screen 102 in any way.) Thecircular area 200 a may be the result of a stylus tip or the user'sfinger tip. Area 202 a is more elongated, possibly the result of thestylus or finger pushing down at an angle. 204 a is a trace that extendsthrough time. This could be interpreted as a “drag” motion or a gesture,depending upon the software that responds to the output of the screen102.

In some embodiments, the screen 102 reports on the actual spatial extentof each of the touches 200 a, 202 a, and 204 a. In these embodiments,FIG. 2 a is a literal display of what is reported by the screen 102. Inother embodiments, the screen 102 reports the pressure exerted, but doesnot report the actual area of the touch. For example, the touch 200 amay be reported as a single point on the screen 102 associated with aspecific amount of pressure. In these embodiments, FIG. 2 a should betaken as a suggestive, rather than as a literal, representation of whatthe screen 102 reports.

In FIG. 2 b, the touches of FIG. 2 a are repeated but at higherpressures. The circular touch 200 a has expanded with greater pressureto the circular area 200 b. With greater pressure, the elongated touch202 b is not only larger in area, but has changed its shape, becomingsomewhat less elongated with the greater pressure. The trace 204 b hasthe same starting and ending points as the trace 204 a, but the width ofthe trace 204 b is much larger because of the greater pressure. In thescreen embodiments that do not actually report on the area of the touch,trace 204 b is reported with the same location (through time) as trace204 a, but with larger associated pressure values.

FIGS. 3 a and 3 b present a first exemplary method for using thepressure information provided by the touch-sensitive screen 102 in auser interface. In step 300 of FIG. 3 a, the processor 106 of thepersonal electronic device 100 receives information about a touch on thescreen 102. The present discussion naturally focuses on pressureinformation associated with the touch, but, as is traditional,information about the touch generally includes at least one location ofthe touch (step 302). For a gestural touch such as the trace 204 a inFIG. 2 a, the touch information includes the spatial path across thescreen (step 304). (The spatial path is generally reported as a seriesof touched locations.)

Mention of the trace 204 a of FIG. 2 a makes this a good point todiscuss what can be meant by a “touch.” The trace 204 a can beconsidered to be one touch that extends through space and time.Alternatively, the trace 204 a can be thought of as a long series oftouches, one right after the other, each touch associated withparticular point on the touch-sensitive screen 102 and associated withone particular moment in time. The distinction can be important in thepresent discussion when the user begins by pressing down with onepressure value and then, without releasing the pressure entirely,changes to a different pressure value. Some user interfaces considerthis to be a single touch whose pressure changes with time, while otheruser interfaces consider this to be at least two touches temporallyadjacent, each with a constant pressure value. Different definitionsthat divide a user's gesture into one or more “touches” can besignificant in understanding what signals the user is sending, but thepresent invention works with any such definition.

In step 306, a pressure value is associated with the received touchinformation. There are many ways this can be accomplished, and thedifferences between them are usually based on the different technologiesthat can be used in embodying the touch-sensitive screen 102.

Step 306 a covers those cases where the screen 102 itself reports thepressure value. When a touch covers more than a single point on thescreen 102, then some screens 102 report on the pressure value of eachpoint in the touch. Other screens 102 may simply give a total, or anaverage, pressure value for the touch. A trace like 204 a in FIG. 2 acould include a long list of individual pressure values, one for eachpoint along the trace.

Step 306 a also covers the cases where a component (e.g., a pressuresensor) associated with the touch-sensitive screen 102 reports apressure value. In a very simple case, the entire screen 102 can rest ona piezoelectric pressure sensor. When the screen 102 is touched, thepressure sensor reports the total amount of pressure exerted. This verysimple system could not, of course, report the pressure exerted at eachpoint of a touch that extends in space. In another example, a “smart”stylus measures the pressure that the user is exerting and reports thatinformation to the personal electronic device 100. In general, thestylus only reports total pressure.

Step 306 b covers those cases where the pressure associated with thetouch is not directly reported, but enough information is given that thepressure can be calculated. Some touch-sensitive screens 102 report thenumber of “points” that are included in the touch. This is the area ofthe screen 102 that has received enough pressure to register a touch.For these screens 102, the light touch 200 a of FIG. 2 a and the heavytouch 200 b of FIG. 2 b are distinguished by the fact that the areaaffected by the heavy touch 200 b is larger. In some screens 102, thearea is reported as the number of channels (or points) affected by thetouch. Some screens 102 report a stronger signal that is in some mannerproportional to the pressure of a touch. If a screen 102 reports boththe area of the touch (or the number of channels affected) and a signalproportional to the total pressure, then the average pressure can becalculated by comparing these two values. Thus, a very light touch overa large area of the screen 102 is distinguished from a heavy touchconcentrated in a small area, although the total pressure received bythe entire screen 102 could be the same in these two cases.

It should be noted that, for many technologies, the pressure reported isa relative value rather than an actual value of newtons per squaremeter. The present invention works perfectly well with either actual orrelative pressure measurements. Indeed, the pressure value associatedwith the touch in step 306 could be selected from the group: “above athreshold” and “below a threshold.” Of course, a touch-sensitive screen102 can also report on a zero pressure value if queried (i.e., “nodetected touch at the moment”), but in that case the method of FIGS. 3 aand 3 b would not be invoked.

In step 308, the pressure associated with the touch is compared againsta non-zero threshold. (The threshold is non-zero because the presentinvention distinguishes between light and heavy touches, and a zerothreshold would simply distinguish between a touch and a no-touch.) Notethat the actual threshold value can vary with the application that willprocess the touch (in steps 310 and 312 of FIG. 3 b). However, the useof a consistent threshold is recommended so that users can acquire a“feel” for how much pressure to exert to cross the threshold.

The simplest embodiment of a user interface includes only steps 310 and312 of FIG. 3 b. In short, if the pressure is below the threshold, thenone action is performed (step 310), otherwise a different action isperformed (step 312). The user-interface actions could include, forexample, selecting an icon displayed on the touch-sensitive screen 102,opening a file associated with an icon displayed on the screen 102,executing a program associated with an icon displayed on the screen 102,and modifying a value of a control parameter. As a specific example, ifa drawing application is currently responding to the touch, then thedrawing application could respond to a touch below the threshold bydrawing on the screen 102, while a heavier touch could erase what wasalready drawn.

As another example, the touch could be sent to a media-playbackapplication. A light touch on a fast-forward icon would fast-forwardthrough a media presentation at a first speed, while a heavy touch wouldfast-forward through the presentation at a faster speed. If the pressureassociated with the touch in step 306 of FIG. 3 a is more informativethan simply “above the threshold” or “below the threshold,” then thistwo-speed fast-forward control could be refined, in step 312 a by makingits response proportional to the difference between the associatedpressure and the threshold. That is to say, rather than simply switchingbetween two speeds, the speed could keep increasing as the user pressesharder and harder. Of course, this type of pressure-sensitive controlcould easily be combined with known techniques for increasing the speedas the user keeps the control pushed down. This example begins to showthe real advantages of the present invention as user-interface designersare given possibilities beyond those traditionally associated withtouch-sensitive screens.

Some embodiments, rather than linearly increasing the response withincreased pressure, may simply include at least one more non-zerothreshold (step 312 b). This would turn the two-speed fast-forwardcontrol in the example above into a three-speed control, etc.

In any embodiment, the user-interface designer may choose to implementstep 312 c where a notification is given to the user that his pressurehas crossed the threshold. For example, an icon could be shown on thetouch-sensitive screen that the pressure is greater than the threshold,a sound could be played, or, possibly most usefully, a haptic responsecould be given that mimics the feedback encountered when a physicalbutton is pressed down harder and harder against its spring. Differentuser interfaces will likely implement different notifications.

Note that in the examples given above, there is no a priori logicalconnection between the pressure exerted and the user-interface actionchosen. To illustrate this point by a counter example, in a drawingapplication, the user's touch is graphically represented on thetouch-sensitive screen 102: A line is displayed on the screen 102 whenthe user creates a trace, such as the trace 204 a of FIG. 2 a. Because aphysical brush paints a broader line when pressed harder, it would belogical for the drawing application to display a wider line when thepressure is heavy, as in trace 204 b of FIG. 2 b. In this example,therefore, there exists in the user's mind an a priori logicalconnection between the pressure exerted and the width of the trace shownon the screen 102. However, as previous examples show, the presentinvention is in no way limited to these a priori logicalimplementations.

The discussion above is meant to be very general and to cover manypossible embodiments. For a concrete example, consider the methodillustrated in FIGS. 4 a and 4 b. The method begins with step 400 ofFIG. 4 a. This step 400 emphasizes that a real-world touch may extendthrough time and space (on the touch-sensitive display screen 102). Inthis case, the screen 102 sends periodic messages (or is periodicallyqueried by the processor 106), and the result is a string of locationvalues and associated pressures. That is, step 400 introduces aprocessing loop (through step 408) that continues as long as the touchcontinues. Generally, the touch is considered to be complete, and theloop exits to step 410, when the pressure value reported from the screen102 falls to zero.

As information about the touch is received, the processor 106 evaluatesthat information beginning in step 402. Here, a pressure value isassociated with the touch at the current moment. The discussion above ofstep 306 of FIG. 3 a applies here as well. The current pressure value iscompared against a pressure threshold in step 404.

The processor 106 keeps track of the distance covered by the touch. Ingeneral, the processor 106 calculates this distance from the periodictouch-location reports. In step 406, the total distance currentlyassociated with the touch is compared against a distance threshold. Ifthe distance threshold is exceeded, and if this touch has not alreadybeen classified as a “hard press” (see step 408), then this touch isclassified as a “swipe.”

Similarly, in step 408, the current pressure is compared against apressure threshold (as in step 308 of FIG. 3 a, discussed above). If thepressure threshold is exceeded, and if this touch has not already beenclassified as a “swipe” (see step 406), then this touch is classified asa “hard press.”

The processing loop (steps 400 through 408) continues for the durationof the touch. When the touch is complete, if the touch has not beenotherwise classified, the touch is classified as a “tap” in step 410.

The result of steps 406 through 410 is that every touch is classified asexactly one of “hard press,” “swipe,” and “tap.” Of “hard press” and“swipe,” the first one triggered (by exceeding the appropriatethreshold) trumps the other one. For example, once a touch is classifiedas a “hard press,” it cannot become a “swipe.” If neither threshold isexceeded, the default classification is “tap.” Clearly, otherimplementation choices using these three classifications are possible.

Finally, in step 412 of FIG. 4 b, a user-interface action is triggeredby the touch, and the specific action is based on the classification ofthe touch. Note that in many cases, the action of step 412 does not haveto wait until the touch is completed. Once a touch is classified as a“hard press,” for example, it cannot be reclassified as either a “swipe”or a “tap,” so the user interface can take the appropriate action evenbefore the touch is completed.

As an example of this point, consider the trace 204 b of FIG. 2 b.Assume that the user begins the trace 204 b by pressing down hard enoughto exceed the pressure threshold. Then, this trace 204 b is classifiedas a “hard press” (step 408 of FIG. 4 a). In one embodiment, thetriggered user action (step 412 of FIG. 4 b) is a “drag and drop.” Ascreen icon located at the beginning of the trace 204 b is “grabbed” assoon as this trace is classified (step 408), is moved along the path ofthe trace 204 b, and is then set down when the trace 204 b ends.

FIG. 5 presents a refinement that can be used along with the previousexamples. Those previous examples all monitor touch pressure; the methodof FIG. 5 also monitors the time rate of change of the pressure value.The method begins in step 500 where “datapoints” are received from thetouch-sensitive screen 102. (Datapoints are not a departure from theprevious methods: They are simply another way of explaining therelationship between the screen 102 and the user interface.) Just aswith the extended touch of FIGS. 4 a and 4 b, the method of FIG. 5begins with a loop that continues for the duration of the touch. In step500, the screen 102 periodically reports on the touch location.

In step 502, pressure values are associated with at least some of thedatapoints. This step is similar to step 306 of FIG. 3 a and step 402 ofFIG. 4 a.

Step 504 is new with the present method. A rate of change of thepressure is associated with the set of received datapoints. Generally,the processor 102 calculates the rate of change by mapping theassociated pressures of step 502 with the timestamps of the datapoints(from step 500). This rate of change is then used in step 506 as inputto the user interface. As just one example, a certain user-interfaceaction could be triggered only if the user very quickly increases thepressure of the touch.

Optional step 508 notifies the user of the rate of change of pressure.This is similar to notifying the user that the pressure has exceeded athreshold (step 312 c of FIG. 3 b), but, to be honest, it is believedthat a notification is of less value for indicating the rate-of-changethan it would be for indicating the switch between light and heavypressure.

A final concrete example suffices to complete the present discussion.FIG. 6 presents a user-interface method that builds on the capabilitiesdiscussed above. This method analyzes an extended touch, as do some ofthe previously discussed methods. The processing loop begins with step600 where datapoints are received from the touch-sensitive screen 102.Pressure values are associated with the datapoints in step 602. Thesetwo steps mirror steps 300 and 306 of FIG. 3 a, 400 and 402 of FIG. 4 a,and steps 500 and 502 of FIG. 5.

Then in step 604, the datapoint information is compared against a storedgesture profile. For example, the pressure and location of eachdatapoint (or, more likely, of representative datapoints) are comparedagainst analogous datapoints in the stored gesture profile.

The stored gesture profile could, for example, be created from havingthe user sign his name on the touch-sensitive screen 102 a number oftimes. A profile is generated that characterizes his signature, usingboth location and pressure information. In one embodiment, thesignatures are compared, and only the most stable parts are representedin the profile. The profile could include very specific thresholdinformation that shows exactly how much this user varies the positioningand pressure information when signing his name. The techniques of FIG. 5could also be applied to the stored gesture profile by storing rate ofchange of pressure along with the location and pressure valueinformation.

In step 606, if each of the comparisons is within a threshold (or if apre-defined percentage of the comparisons are within the threshold),then the set of received datapoints is taken as a match of the storedgesture profile. Continuing with the example of the signature, the usercould be prompted to sign his name. His signature is the touch receivedand analyzed in steps 600 through 606. If his current signature matchesthe stored gesture profile, then he is authenticated and could be givenaccess to controlled information. The method of FIG. 6 thus provides alevel of password security that is much more difficult to compromisethan the standard text-entry mechanisms and that is even better thanstandard signature-based (that is, purely location-based) securitymechanisms.

The method of FIG. 6 can be used to recognize and verify any gesturesmade by the user. This method can, for instance, improve the reliabilityof a handwriting-recognition program.

The examples given above illustrate that the actual actions performedare chosen by the designer of the user interface, and the pressure valueis simply a signal sent by the user of the personal electronic device100 to the user interface.

While the above methods work well, they can all be refined based onstudies of how people actually interact with the touch-sensitive screen102. It has been found that a typical user will often unwittingly changethe characteristics of a touch during the course of the touch. The usermay, for example, slightly alter the amount of pressure he is exerting,or he may rotate his finger so that a “squishy” portion of the finger(e.g., the pad of the finger) touching the screen 102 is replaced by a“less squishy” area (e.g., the actual tip of the finger) or vice versa.The screen 102 reflects these user changes by reporting varied values ofpressure and touched area. However, these unwitting changes are notsignificant from a user-interface point of view, and strictly followingthese changes would produce an interface experience that seems vague anduncertain to the user. It would be better to “stabilize” the touch inputby smoothing out these unwitting changes.

FIG. 7 presents a method for doing just that. The method of FIG. 7 canbe seen as a refinement of step 306 of FIG. 3 a, that is, a refinedmethod of associating a particular pressure value with the touch.

The processing loop of FIG. 7 begins in step 700 which emphasizes thatthe touch extends through time. (As with the example of FIG. 4, theprocessing loop continues until the pressure value reported by thetouch-sensitive screen 102 falls to zero.)

In step 702, the touch-sensitive screen 102 reports on its instantaneousstate by sending a datapoint. As discussed above in reference to step306 b of FIG. 3, in some embodiments the datapoint includes an amplitudevalue (in some manner proportional to the pressure of the touch) and asize (in some manner proportional to the area of the screen 102 that hasreceived enough pressure to register a touch). The size could be thearea of the touch (possibly expressed in the number of points on thescreen 102 that register the touch) or a linear dimension related tothat area (e.g., the width or diameter of the touched area). (Asdiscussed above, the datapoints generally also include touch-positioninformation, but that information is not relevant to the presentdiscussion).

Step 704 compares values of successive datapoints against one another.It is expected that a typical touch begins with a small pressureamplitude as the user's finger (or stylus) first touches thetouch-sensitive screen 102. The pressure ramps up quickly to the valueintended by the user and then stays at a roughly constant value. Toaccommodate this typical touch pattern, the comparison of successivevalues continues until a variation in the values satisfies a pre-defined“stability” criterion. Some embodiments use both the amplitude and thesize in these comparisons, while other embodiments use only one of thevalues. One criterion could be that the amplitude values of successivedatapoints are equal to each other, or that they differ by only a tinyamount. Another criterion could be that the amplitudes, rising from thebeginning of the touch, start to decline. The size values could also becompared using similar criteria.

In any case, once the variation in the series of datapoints satisfiesthe stability criterion, the current datapoint is taken as a “baseline”datapoint in step 706.

With the baseline set in step 706, the pressure associated with thetouch is set in subsequent datapoints as a function of the baselinedatapoint, possibly also using values of the current datapoint (step708). In one embodiment, for example, the associated pressure iscomputed as the amplitude of the current datapoint divided by the squareroot of the baseline size. Other calculations are possible.

This use of the baseline provides users with a more consistent “feel”for the touch interface when compared with the more straightforwardtechnique of computing the associated pressure as a function of thecurrently reported amplitude and the currently reported size.

(Step 710 presents an optional refinement to the general refinement ofFIG. 7. The baseline could be reset during the course of the touch if apre-defined criterion is met. For example, if the size in a currentdatapoint is less than the previously set baseline size, then thebaseline size is reset to the current size.)

Note that the technique of FIG. 7 can be applied to any of the aboveexamples to “stabilize” the interface. That is, FIG. 7 can be used torefine step 402 of FIG. 4, step 502 of FIG. 5, and step 602 of FIG. 6.

In view of the many possible embodiments to which the principles of thepresent invention may be applied, it should be recognized that theembodiments described herein with respect to the drawing figures aremeant to be illustrative only and should not be taken as limiting thescope of the invention. For example, widely different uses of thepresent invention are contemplated for different user interfaces and indifferent contexts. Therefore, the invention as described hereincontemplates all such embodiments as may come within the scope of thefollowing claims and equivalents thereof.

1. On a personal electronic device with a touch-sensitive screen, amethod for responding to user input, the method comprising: receiving aseries of datapoints from the touch-sensitive screen; for each of aplurality of the received datapoints, associating a pressure with thedatapoint; associating at least one rate of change of pressure with atleast a subset of the datapoints; and based, at least in part, on theassociated rate-of-change-of-pressure information, performing auser-interface action; wherein associating a pressure with a datapointcomprises: comparing datapoints in the series with one another until avariation in the datapoints fulfills a first pre-defined criterion; whenthe first predefined criterion is met, defining a baseline datapoint asa current datapoint; and computing the associated pressure of thedatapoint as a function of the baseline datapoint.
 2. The method ofclaim 1: wherein a datapoint comprises an amplitude; and wherein thefirst pre-defined criterion is selected from the group consisting of: adifference between amplitudes of successive datapoints is below athreshold and an amplitude of a current datapoint is lower than anamplitude of a previous datapoint.
 3. The method of claim 1: wherein adatapoint comprises a size; and wherein the first pre-defined criterionis selected from the group consisting of: a difference between sizes ofsuccessive datapoints is below a threshold and a size of a currentdatapoint is lower than a size of a previous datapoint.
 4. The method ofclaim 1 wherein a datapoint comprises an amplitude and a size.
 5. Themethod of claim 4 wherein the associated pressure of the datapoint iscomputed as a function of an element selected from the group consistingof: an amplitude of a current datapoint and a size of the currentdatapoint.
 6. The method of claim 4 wherein the associated pressure ofthe datapoint is computed as (an element selected from the groupconsisting of: an amplitude of a current datapoint and an amplitude ofthe baseline datapoint) divided by a square root of a size of thebaseline datapoint.
 7. The method of claim 4 wherein the associatedpressure of the datapoint is computed as an amplitude of the baselinedatapoint divided by (an element selected from the group consisting of:a square root of a size of the current datapoint and a square root of asize of the baseline datapoint).
 8. The method of claim 1 whereinassociating a pressure with the datapoint further comprises: fordatapoints after the baseline datapoint is defined: if a secondpre-defined criterion is met, then re-defining the baseline datapoint asa current datapoint.
 9. The method of claim 8: wherein a datapointcomprises an amplitude; and wherein the second pre-defined criterion ismet when an amplitude of the current datapoint is lower than anamplitude of the baseline datapoint.
 10. The method of claim 8: whereina datapoint comprises a size; and wherein the second pre-definedcriterion is met when a size of the current datapoint is lower than asize of the baseline datapoint.
 11. The method of claim 1: furthercomprising, for each of a plurality of the datapoints, associating atime with the datapoint; wherein associating at least one rate of changeof pressure comprises comparing pressures and times associated with aplurality of datapoints.
 12. A personal electronic device comprising: atouch-sensitive screen; and a processor operatively connected to thetouch-sensitive screen and configured for: receiving a series ofdatapoints from the touch-sensitive screen; for each of a plurality ofthe received datapoints, associating a pressure with the datapoint;associating at least one rate of change of pressure with at least asubset of the datapoints; and based, at least in part, on the associatedrate-of-change-of-pressure information, performing a user-interfaceaction; wherein associating a pressure with a datapoint comprises:comparing datapoints in the series with one another until a variation inthe datapoints fulfills a first pre-defined criterion; when the firstpredefined criterion is met, defining a baseline datapoint as a currentdatapoint; and computing the associated pressure of the datapoint as afunction of the baseline datapoint.
 13. The personal electronic deviceof claim 12 wherein the personal electronic device is selected from thegroup consisting of: mobile telephone, personal communications device,personal computer, tablet computer, kiosk, digital sign, and gamingconsole.
 14. The personal electronic device of claim 12: wherein adatapoint comprises an amplitude; and wherein the first pre-definedcriterion is selected from the group consisting of: a difference betweenamplitudes of successive datapoints is below a threshold and anamplitude of a current datapoint is lower than an amplitude of aprevious datapoint.
 15. The personal electronic device of claim 12:wherein a datapoint comprises a size; and wherein the first pre-definedcriterion is selected from the group consisting of: a difference betweensizes of successive datapoints is below a threshold and a size of acurrent datapoint is lower than a size of a previous datapoint.
 16. Thepersonal electronic device of claim 12 wherein a datapoint comprises anamplitude and a size.
 17. The personal electronic device of claim 16wherein the associated pressure of the datapoint is computed as afunction of an element selected from the group consisting of: anamplitude of a current datapoint and a size of the current datapoint.18. The personal electronic device of claim 16 wherein the associatedpressure of the datapoint is computed as (an element selected from thegroup consisting of: an amplitude of a current datapoint and anamplitude of the baseline datapoint) divided by a square root of a sizeof the baseline datapoint.
 19. The personal electronic device of claim16 wherein the associated pressure of the datapoint is computed as anamplitude of the baseline datapoint divided by (an element selected fromthe group consisting of: a square root of a size of the currentdatapoint and a square root of a size of the baseline datapoint). 20.The personal electronic device of claim 12 wherein associating apressure with the datapoint further comprises: for datapoints after thebaseline datapoint is defined: if a second pre-defined criterion is met,then re-defining the baseline datapoint as a current datapoint.
 21. Thepersonal electronic device of claim 20: wherein a datapoint comprises anamplitude; and wherein the second pre-defined criterion is met when anamplitude of the current datapoint is lower than an amplitude of thebaseline datapoint.
 22. The personal electronic device of claim 20:wherein a datapoint comprises a size; and wherein the second pre-definedcriterion is met when a size of the current datapoint is lower than asize of the baseline datapoint.
 23. The personal electronic device ofclaim 12 wherein the processor is further configured for: for each of aplurality of the datapoints, associating a time with the datapoint;wherein associating at least one rate of change of pressure comprisescomparing pressures and times associated with a plurality of datapoints.24. On a personal electronic device with a touch-sensitive screen, amethod for responding to user input, the method comprising: receiving aseries of datapoints from the touch-sensitive screen, each datapointcomprising position information; for each of a plurality of the receiveddatapoints, associating a pressure with the datapoint; for a pluralityof the datapoints with associated pressure, comparing the positioninformation and the associated pressure against a stored gestureprofile; and if the compared datapoints are within a threshold of thestored gesture profile, then performing a user-interface action based,at least in part, on the compared datapoints; wherein associating apressure with a datapoint comprises: comparing datapoints in the serieswith one another until a variation in the datapoints fulfills a firstpre-defined criterion; when the first predefined criterion is met,defining a baseline datapoint as a current datapoint; and computing theassociated pressure of the datapoint as a function of the baselinedatapoint.
 25. The method of claim 24 wherein the threshold comprises aposition threshold and a pressure threshold.
 26. A personal electronicdevice comprising: a touch-sensitive screen; and a processor operativelyconnected to the touch-sensitive screen and configured for: receiving aseries of datapoints from the touch-sensitive screen, each datapointcomprising position information; for each of a plurality of the receiveddatapoints, associating a pressure with the datapoint; for a pluralityof the datapoints with associated pressure, comparing the positioninformation and the associated pressure against a stored gestureprofile; and if the compared datapoints are within a threshold of thestored gesture profile, then performing a user-interface action based,at least in part, on the compared datapoints; wherein associating apressure with a datapoint comprises: comparing datapoints in the serieswith one another until a variation in the datapoints fulfills a firstpre-defined criterion; when the first predefined criterion is met,defining a baseline datapoint as a current datapoint; and computing theassociated pressure of the datapoint as a function of the baselinedatapoint.
 27. The personal electronic device of claim 26 wherein thepersonal electronic device is selected from the group consisting of:mobile telephone, personal communications device, personal computer,tablet computer, kiosk, digital sign, and gaming console.
 28. Thepersonal electronic device of claim 26: further comprising a componentdistinct from the touch-sensitive screen, the distinct componentselected from the group consisting of: a pressure sensor and an activestylus; wherein associating a pressure comprises receiving a pressurevalue from the distinct component.
 29. The personal electronic device ofclaim 26 wherein the threshold comprises a position threshold and apressure threshold.